1. Field of the Invention
The present invention relates to a method and an apparatus for transmitting data. More particularly, the present invention relates to a method and an apparatus for transmitting data by taking the steps of selecting a network and a service class, and executing an IP (Internet Protocol) communication.
2. Description of the Related Art
With the recent and rapid spread of the Internet, the number of ISPs (Internet Service Providers) providing Internet connection services has been increasing. In such a circumstance, it is predictable that a user contracts with a plurality of ISPs. Additionally, with the increase in the number of ISPs, some ISPs might support differentiated services on an IP network so as to distinguish their services from other ISPs, the differentiated services currently moving forward to be standardized by the IETF (Internet Engineering Task Force). Furthermore, an increase in the number of such ISPs supporting the differentiated services is well anticipated in the future. In addition, a fee system for use of a network might change in accordance with communication traffic information about the network in the future.
A differentiated service for each data is achieved by writing of IP data transmitted equally by a best effort service to a part of an IP header such as a TOS field of an IPv4 (Internet Protocol version 4) or by writing a code DSCP (Differentiated Service Code Point) indicating an order of priority to a traffic class octet of an IPv6 (Internet Protocol version 6). The prospect of supporting such a differentiated service gives rise to expectations for achievement of the differentiated service at least on a single domain of an IP network, and to data exchange through the single domain in the future. Generally, in the differentiated service, a service class called a PHB (Per Hop Behavior) is defined. Additionally, an EF-PHB (Expedited Forwarding PHB) and an AF-PHB (Assured Forwarding PHB) are currently suggested, and are in movement toward standardization. The EF-PHB has the highest priority. The AF-PHB having lower priority than the EF-PHB further includes four priority classes that are an AF1, an AF2, an AF3 and an AF4 in a decreasing priority order. The AF-PHB has higher priority than the best effort service, but may be discarded when the IP network is overcrowded.
In a case of contracting with a plurality of ISPs, a user takes a selection of a network and a service class for transmitting data most efficiently as a significant matter of concern. Static information such as contents of service classes of a differentiated service can be considered in advance. However, dynamic information indicating a current network condition such as communication traffic information about the network included in the network is not disclosed, and thus a network or a service class cannot be selected. Even if such dynamic information included in the network is disclosed, since a data transmission device does not include a method of selecting the network or the service class, a user needs to select the network and the service class by determining whether the network or the service class is capable of executing the most efficient data transmission. Additionally, the user needs to set a change in the service class manually. Accordingly, there has been a demand for a data transmission device automatically executing a selection of a network and a service class by which the data transmission device can transmit data most efficiently.
FIG. 1 is a block diagram showing a configuration of a conventional data transmission device. A data transmission device 10 shown in FIG. 1 includes a buffer 11, a routing table 12, a path selection unit 13, an output port selector 14, and output ports 15. The buffer 11 stores data inputted to the data transmission device 10. The routing table 12 stores address information about a network layer corresponding to input data and correspondence of the input data and a destination data transmission device or a destination host. The path selection unit 13 determines the most appropriate path for transmitting the input data. FIG. 2 is a diagram showing a data transmission system including the data transmission device 10. Additionally, FIG. 3 is a flowchart showing processes performed by the data transmission device 10 to transmit the input data to its destination.
A basic function of the data transmission device 10 is to search the routing table 12 based on a destination IP address of data, and to transmit the data to a following data transmission device or host on a way to a destination of the data. To be concrete, in a case of receiving data transmitted from a user at a step S1 shown in FIG. 3, the data transmission device 10 performs the following processes. At a step S2, the data transmission device 10 stores the data in the buffer 11. Subsequently, at a step S3, the data transmission device 10 searches through the routing table 12 for a data transmission device or a host located at a next hop (level) based on a network address part of a destination IP address of the data. The data transmission device 10 determines the next hop at a step S4, and selects an output port that connects the data transmission device 10 to the data transmission device or the host located at the next hop, at a step S5. At a step S6, the data transmission device 10 transmits the data stored in the buffer 11 from a selected output port.
There are two methods of creating the routing table 12, which methods are static and dynamic methods. The static method of creating the routing table 12 is a method in which a network manager or the like sets fixed values in the routing table 12. The static method has advantages of decreasing a load of the data transmission device 10, and of easy security management and failure detection. However, such a method has a disadvantage of increasing a burden for the network manager since the fixed values for the data transmission device 10 related to a change in a configuration of a network needs to be changed every time the configuration of the network is changed. On the other hand, the dynamic method of creating the routing table 12 is achieved by an exchange of information about network conditions stored in each data transmission device with other data transmission devices by use of a routing protocol. Each data transmission device initiatively calculates the most appropriate data transmission path corresponding to the network conditions based on the information received from other data transmission devices, and dynamically creates the routing table 12. According to the dynamic method, even if a part of the network has failed, a remaining normal part of the network rebuilds the network automatically or finds out a new data transmission path by operating initiatively, and continues communication.
A conventional data transmission device such as the data transmission device 10 does not include a method of obtaining dynamic information changing every moment such as communication traffic information about an ISP network, storing the dynamic information, and determining the most appropriate data transmission path based on the dynamic information. Therefore, a user individually needs to select a network by determining the most appropriate data transmission path. However, in a case in which an ISP does not disclose the dynamic information about its own ISP network, a user might determine a network connection based only on contents of a service class provided by the ISP network. Thus, the user has a problem when selecting the most appropriate data transmission path certainly. For instance, the user might face the following case. The user selects a path using an AF-PHB of an ISP-A corresponding to a differentiated service as a charged service for transmitting data from the data transmission device 10 shown in FIG. 2. However, the path selected by the user turns out to be very crowded. On the other hand, a path not corresponding to the differentiated service such as a best effort transmission path of an ISP-B is less crowded and faster for transmitting the data from the data transmission device 10.
Even in a case in which the ISP discloses the dynamic information about its own ISP network, a conventional data transmission device does not include methods of obtaining and storing the dynamic information. Accordingly, the user has to select a network from a plurality of networks and to set the network personally. Additionally, even in a case in which a plurality of service classes are provided in the network, the conventional data transmission device does not include methods of obtaining and storing static and dynamic information about the service classes. Thus, the user has to select a service class from the plurality of service classes and to set the service class manually.
As describe above, a manual selection of the most appropriate path and service class by a user in accordance with network conditions burdens the user. Additionally, the manual selection has a problem of possibly not selecting the most appropriate path and service class.